30260eb13784d6f88be6d1289c9f54abf1c3fc88,lib/src/main/java/com/auth0/jwt/JWTVerifier.java,JWTVerifier,assertValidDateClaim,#Date#number#boolean#,313
Before Change
boolean isValid;
String errMessage;
if (shouldBeFuture) {
today.setTime(today.getTime() - leeway);
isValid = date == null || !today.after(date);
errMessage = String.format("The Token has expired on %s.", date);
} else {
After Change
private void assertValidDateClaim(Date date, long leeway, boolean shouldBeFuture) {
Date today = clock.getToday();
today.setTime((long) Math.floor((today.getTime() / 1000) * 1000)); //truncate millis
boolean isValid;
String errMessage;
if (shouldBeFuture) {
today.setTime(today.getTime() - leeway * 1000);
isValid = date == null || !today.after(date);
errMessage = String.format("The Token has expired on %s.", date);
} else {
today.setTime(today.getTime() + leeway * 1000);
isValid = date == null || !today.before(date);
errMessage = String.format("The Token can't be used before %s.", date);
}